nodebrewを使ってNode.jsの複数バージョンを簡単に使い分ける
頻繁に更新されるNode.js
Node.jsは、サーバーサイドで実行できるJavaScript環境ということで、短いコードで簡単に処理を記述できることなどから利用する人が増えていると思いますが、頻繁なバージョンアップと仕様変更により、以前動いていたコードが動かないといったことがあるかと思います。また、ソースからビルドすることで、使いたいバージョンを自分で指定することもできますが、ビルドにとても時間が掛かるのでできればバイナリをインストールしたいです。さらに、Macで何かと動きがおかしい。。。ということで、今回は、Node.jsの複数のバイナリバージョンを管理してくれるnodebrewというものを使ってみたいと思います。
今回のゴール
- 複数バージョンを使いたい
- バイナリをインストールしたい
- Macで壊れない
nodebrewのインストール
インストールは簡単です。Mac OSX El Capitanの環境でやってみます。まずは既にインストールされているNode環境をアンインストールします。
$ node -v v0.10.44 $ npm -v 3.8.8 $ sudo npm uninstall npm -g $ lsbom -f -l -s -pf /var/db/receipts/org.nodejs.pkg.bom | while read i; do sudo rm /usr/local/${i}; done $ brew uninstall node $ sudo rm -rf ~/.npm $ node bash: /Users/satoshi/.nodebrew/current/bin/node: No such file or directory $ npm bash: /Users/satoshi/.nodebrew/current/bin/npm: No such file or directory
アンインストールと関連ファイルの削除が完了しましたので、インストールをします。
$ curl -L git.io/nodebrew | perl - setup $ vi ~/.bash_profile export PATH=$HOME/.nodebrew/current/bin:$PATH source ~/.bash_profile
とっても簡単。次に選択できるnodeのバージョン一覧を表示します。
$ nodebrew ls-remote v0.0.1 v0.0.2 v0.0.3 v0.0.4 v0.0.5 v0.0.6 v0.1.0 v0.1.1 v0.1.2 v0.1.3 v0.1.4 v0.1.5 v0.1.6 v0.1.7 v0.1.8 v0.1.9 v0.1.10 v0.1.11 v0.1.12 v0.1.13 v0.1.14 v0.1.15 v0.1.16 v0.1.17 v0.1.18 v0.1.19 v0.1.20 v0.1.21 v0.1.22 v0.1.23 v0.1.24 v0.1.25 v0.1.26 v0.1.27 v0.1.28 v0.1.29 v0.1.30 v0.1.31 v0.1.32 v0.1.33 v0.1.90 v0.1.91 v0.1.92 v0.1.93 v0.1.94 v0.1.95 v0.1.96 v0.1.97 v0.1.98 v0.1.99 v0.1.100 v0.1.101 v0.1.102 v0.1.103 v0.1.104 v0.2.0 v0.2.1 v0.2.2 v0.2.3 v0.2.4 v0.2.5 v0.2.6 v0.3.0 v0.3.1 v0.3.2 v0.3.3 v0.3.4 v0.3.5 v0.3.6 v0.3.7 v0.3.8 v0.4.0 v0.4.1 v0.4.2 v0.4.3 v0.4.4 v0.4.5 v0.4.6 v0.4.7 v0.4.8 v0.4.9 v0.4.10 v0.4.11 v0.4.12 v0.5.0 v0.5.1 v0.5.2 v0.5.3 v0.5.4 v0.5.5 v0.5.6 v0.5.7 v0.5.8 v0.5.9 v0.5.10 v0.6.0 v0.6.1 v0.6.2 v0.6.3 v0.6.4 v0.6.5 v0.6.6 v0.6.7 v0.6.8 v0.6.9 v0.6.10 v0.6.11 v0.6.12 v0.6.13 v0.6.14 v0.6.15 v0.6.16 v0.6.17 v0.6.18 v0.6.19 v0.6.20 v0.6.21 v0.7.0 v0.7.1 v0.7.2 v0.7.3 v0.7.4 v0.7.5 v0.7.6 v0.7.7 v0.7.8 v0.7.9 v0.7.10 v0.7.11 v0.7.12 v0.8.0 v0.8.1 v0.8.2 v0.8.3 v0.8.4 v0.8.5 v0.8.6 v0.8.7 v0.8.8 v0.8.9 v0.8.10 v0.8.11 v0.8.12 v0.8.13 v0.8.14 v0.8.15 v0.8.16 v0.8.17 v0.8.18 v0.8.19 v0.8.20 v0.8.21 v0.8.22 v0.8.23 v0.8.24 v0.8.25 v0.8.26 v0.8.27 v0.8.28 v0.9.0 v0.9.1 v0.9.2 v0.9.3 v0.9.4 v0.9.5 v0.9.6 v0.9.7 v0.9.8 v0.9.9 v0.9.10 v0.9.11 v0.9.12 v0.10.0 v0.10.1 v0.10.2 v0.10.3 v0.10.4 v0.10.5 v0.10.6 v0.10.7 v0.10.8 v0.10.9 v0.10.10 v0.10.11 v0.10.12 v0.10.13 v0.10.14 v0.10.15 v0.10.16 v0.10.17 v0.10.18 v0.10.19 v0.10.20 v0.10.21 v0.10.22 v0.10.23 v0.10.24 v0.10.25 v0.10.26 v0.10.27 v0.10.28 v0.10.29 v0.10.30 v0.10.31 v0.10.32 v0.10.33 v0.10.34 v0.10.35 v0.10.36 v0.10.37 v0.10.38 v0.10.39 v0.10.40 v0.10.41 v0.10.42 v0.10.43 v0.10.44 v0.11.0 v0.11.1 v0.11.2 v0.11.3 v0.11.4 v0.11.5 v0.11.6 v0.11.7 v0.11.8 v0.11.9 v0.11.10 v0.11.11 v0.11.12 v0.11.13 v0.11.14 v0.11.15 v0.11.16 v0.12.0 v0.12.1 v0.12.2 v0.12.3 v0.12.4 v0.12.5 v0.12.6 v0.12.7 v0.12.8 v0.12.9 v0.12.10 v0.12.11 v0.12.12 v0.12.13 v4.0.0 v4.1.0 v4.1.1 v4.1.2 v4.2.0 v4.2.1 v4.2.2 v4.2.3 v4.2.4 v4.2.5 v4.2.6 v4.3.0 v4.3.1 v4.3.2 v4.4.0 v4.4.1 v4.4.2 v4.4.3 v4.4.4 v5.0.0 v5.1.0 v5.1.1 v5.2.0 v5.3.0 v5.4.0 v5.4.1 v5.5.0 v5.6.0 v5.7.0 v5.7.1 v5.8.0 v5.9.0 v5.9.1 v5.10.0 v5.10.1 v5.11.0 v5.11.1 v6.0.0 v6.1.0 [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected]
ステキです。
Node.jsとio.jsはマージされてNode.js v4系ができたようです。今後は、v0.x系はサポートされなくなるようですので、v4とかv6を利用するのが良いかと思います。
Node.jsのバージョンを指定して利用
一覧が表示できましたので、バージョンを指定してデフォルト設定にしたいと思います。
$ nodebrew install-binary v0.10.44 Installed successfully $ nodebrew ls v0.10.44 current: none $ nodebrew use v0.10.44 use v0.10.44
動作を確認します。
$ node -v v0.10.44 $ npm -v 2.15.0
npmを最新に上げてみます。
$ npm install -g npm /Users/satoshi/.nodebrew/current/bin/npm -> /Users/satoshi/.nodebrew/current/lib/node_modules/npm/bin/npm-cli.js [email protected] /Users/satoshi/.nodebrew/current/lib/node_modules/npm $ npm -v 3.8.9
複数バージョンを使い分ける
nodebrewは複数のバイナリーをインストールして切り替えられます。
$ nodebrew install-binary v6.1.0 Installed successfully $ nodebrew ls v0.10.44 v6.1.0 current: v0.10.44 $ nodebrew use v6.1.0 use v6.1.0 $ node -v v6.1.0 $ nodebrew alias default v0.10.44 default -> v0.10.44
まとめ
簡単にインストールできましたので、今後はもっと積極的にNode.jsの最新バージョンの動作確認をしてみたいですね。ちなみに、Amazon Linuxでも同様にインストールできました!